home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1998 October / Macworld (1998-10).dmg / Shareware World / Utilities / Text Processing / A Sort of a Kind / Go aSoaK Your Head! < prev    next >
Text File  |  1998-08-01  |  6KB  |  176 lines

  1. RELEASE NOTES FOR A SORT OF A KIND...
  2.  
  3.  
  4.  
  5. Introductory chatter...
  6.  
  7. Here's one you'll use every day (grin).
  8.  
  9. This is a sort, a barely-adequate nevertheless robust kind of a
  10. sort. It's A Sort of a Kind (hereafter "aSoaK" for brevity's sake).
  11.  
  12. It's robust in that it will sort arbitrarily large files. It's
  13. barely-adequate because it implements only the bare minimum of
  14. features I envision for a useful sorting utility. I produced it
  15. this way, in this form, because I, personally, need something now,
  16. and because I don't have time to do more than this right now.
  17.  
  18. In fact, during testing, I hit upon a much faster scheme for doing
  19. the same job, but I don't have time to go back and rewrite, so this
  20. is shipping the way it is. If you're feeling like a poor relation,
  21. don't. This is "barely-adequate" only in contrast to what I _wish_
  22. I had time to do. It's better than anything else I've seen -- and
  23. my natural preference is to make do with someone else's tools
  24. rather than write my own. In particular, aSoaK succeeds where (for
  25. example) the sort in Word goes south, and it sorts to a more
  26. reasonable order. Moreover, my own results (one tester reports
  27. contrary evidence) indicate that it is about 3 times faster than
  28. Word on larger files (it's amazingly faster on small files). So:
  29. while I can imagine a much better sort in terms of both features
  30. and performance, this will (and will have to) do for now...
  31.  
  32.  
  33.  
  34. System stuff...
  35.  
  36. IMPORTANT: aSoaK is System 7 or above ONLY. Its only interface is
  37. Drag and Drop, so you cannot use it with earlier Systems. If you
  38. double-click on it from a System 6 machine, you will get an error
  39. message and the software will quit gracefully.
  40.  
  41. To use aSoaK _with_ System 7 or above, simply select the files you
  42. want to process and drag them on the program's icon or an alias of
  43. it. New files with the extension ".SRT" will be created, and your
  44. original source files will remain unaltered.
  45.  
  46.  
  47.  
  48. Usage notes...
  49.  
  50. A Sort of a Kind  will sort arbitrarily large text files. File
  51. size is limited only to allocated RAM, with the reliable factor
  52. being file-size + 128K. If you get a message that your file is too
  53. large, increase aSoaK's memory allocation like this:
  54.  
  55. 1. Get Info on the file. Note its size in kilobytes.
  56.  
  57. 2. Add 128K to the size of the file.
  58.  
  59. 3. Get Info on aSoaK and change the figure in the Preferred Size box
  60. in the lower right-hand corner to the value you came up with in step
  61. 2.
  62.  
  63. If you ever actually do get a file that's larger than all the
  64. memory you can give aSoaK, drop me a note and I'll see if I can
  65. come up with something.
  66.  
  67. Practically speaking, the length of any one paragraph must be less
  68. than 16,000 bytes, and warning for exceeding this limit is built
  69. in. The chances of hitting this wall are even slimmer than having a
  70. file too large to fit in memory, I expect.
  71.  
  72. The default sort order is strict ASCII (case is sensitive, and
  73. accented characters are not equated to their unaccented forms). In
  74. addition, there are three modifier keys that you can use at Drag &
  75. Drop time to influence the sort:
  76.  
  77. 1. Shift-D&D induces a (quasi-)lexical sort. Accented characters
  78. are equated to their unaccented equivalents, and case is
  79. (semi-)ignored by a double-weighting scheme. In other words, case
  80. (ignoring accents) is taken into account _only_ where the
  81. characters are exactly equal (ignoring accents) when case is
  82. ignored. Like this:
  83.  
  84. Case-sensitive:        M < N < m
  85.  
  86. Case-insensitive:    m = M < N
  87.  
  88. Double-weighting:    M < m < N
  89.  
  90. With a case-insensitive sort, there is no prohibition against "m"
  91. coming before "M". Double-weighting cures that ill. Take note,
  92. however, that accented characters are double-weighted _only_ as to
  93. capitalization. Accented words are not ghettoized nor even
  94. (semi-)ghettoized for being accented. If you Shift-D&D the enclosed
  95. file called "Alice & Bill Toy With Names", you'll see how
  96. (non-ghettozing) double-weighting works.
  97.  
  98. 2. Command-D&D simply yields the sort in reverse order.
  99.  
  100. 3. Option-D&D causes _exact_ duplicate lines to be shown only once.
  101. Case and accents are _honored_ when deciding if a line is a
  102. duplicate.
  103.  
  104. These three modifier keys can be "stacked". That is, you can hold
  105. down more than one, and each will be honored. So, for example,
  106. Shift-Option-D&D will produce a lexical sort with exact duplicates
  107. shown only once.
  108.  
  109. If you have used any of the modifier keys, the progress window will
  110. tell you which ones.
  111.  
  112. If you make a mistake or if you're tired of waiting for aSoaK to
  113. finish, holding down Command-Period will abort the process.
  114.  
  115.  
  116.  
  117. A Sort of a Kind in Real Life...
  118.  
  119. aSoaK and Word: Word sorts by means of a (to my mind) excessively
  120. complicated mathematical weighting scheme. This is why it produces
  121. such odd results so slowly and why it breaks down with large or
  122. hirsute files. aSoaK's lexical sort (Shift-D&D) produces what Word
  123. is striving for, faster and cleaner, without the size and
  124. complexity limitations.
  125.  
  126. aSoaK and Idiot Randomizer: Idiot Randomizer was built for Word's
  127. (goofy) way of sorting, so aSoaK's results will not be identical.
  128. They will, however, achieve the same end, which is why I didn't
  129. build randomizing into aSoaK.
  130.  
  131. aSoaK and FontFischer: It was FontFischer that made me realize that
  132. I couldn't make do with what I had. Word chokes on large
  133. FontFischer files, and I have need to make a _big_ font book.
  134.  
  135. aSoaK and Torquemada: Torquemada the Inquisitor saves me a lot of
  136. time, more than you might ever guess. My idealized sort would
  137. permit you to, for example, weight the fields of database report
  138. records, so that a report like this:
  139.  
  140. "Greg","Swann","70640,1574"
  141. "Shane","Stanley","100033,317"
  142. "Kip","Shaw","72320,1301"
  143.  
  144. could be sorted on the _last_ name, rather than the first. Users of
  145. Xdata will see the utility of this kind of power at once. But: we
  146. ain't there yet, and I won't have time for IdealSort for quite some
  147. while. However: here's where Torque saves me (and you) a lot of
  148. time. This set:
  149.  
  150. ^?","^*","^~^p
  151. ^*|^?","^*","^~^p
  152.  
  153. will prepend a sort key consisting of the last name field to each
  154. record. You would run the resulting TQM file on aSoaK, then use
  155. this set:
  156.  
  157. ^?|^*^p
  158. ^*^p
  159.  
  160. to strip out the sort key. All sorts of analogous stunts can be
  161. pulled, using Torquemada or other text-processing utilities.
  162.  
  163.  
  164.  
  165. Very Best,
  166.  
  167. Greg Swann
  168.  
  169. gswann@kagi.com
  170. gswann@primenet.com
  171.  
  172. USPS: 3608 West Cochise Drive
  173.       Phoenix, AZ 85051
  174.  
  175. 8/1/98
  176.